package cn.dengta.webapp.trade.dto;

import java.math.BigDecimal;
import java.util.Date;

import cn.dengta.common.model.Bean;
import cn.dengta.webapp.trade.entity.Agent;
import cn.dengta.webapp.user.entity.User;
import cn.dengta.webapp.user.model.Gender;
import lombok.*;
import me.codeplayer.util.X;

@Getter
@Setter
public class UserAgentDTO extends Agent {

	/** 推广员成员 */
	@Setter(AccessLevel.NONE)
	private User user;
	/** 注册时间 */
	private Date userAddTime;
	/** 加入推广员时间 */
	private Date agentJoinTime;
	/** 登陆时间 */
	private Date lastLoginTime;
	/** 最后活跃时间 */
	private Long lastActive;
	/** 总收益 */
	private BigDecimal totalTradeAmount;
	private Integer userStatus;

	public void setUserEmail(String email) {
		user().setEmail(email);
	}

	public void setUserNickname(String nickname) {
		user().setNickname(nickname);
	}

	public void setUserRealName(String realName) {
		user().setRealName(realName);
	}

	public void setUserId(Long id) {
		user().setId(id);
	}

	public void setAvatar(String avatar) {
		user().setAvatar(avatar);
	}

	public void setGender(Integer gender) {
		user().setGender(Gender.of(gender));
	}
	public void setInviteUserId(Long inviteUserId) {
		user().setInviteUserId(inviteUserId);
	}

	private User user() {
		return user = X.getElse(user, User::new);
	}

	public Long getUserId() {
		return Bean.idOf(user);
	}

}
